package cn.iocoder.yudao.module.aiposter.remote.vo;

import cn.iocoder.yudao.module.aiposter.dal.dataobject.template.AiParamBO;
import cn.iocoder.yudao.module.aiposter.service.poster.bo.ImgWidgetTypeEnum;
import lombok.*;

/**
 * 合成图片基类
 */
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class AiSynthesisRqe {

    // 矢量图片 图片 文字
    private String name;

    // w-svg w-text w-image w-qrcode
    private ImgWidgetTypeEnum type;

    // 8fxs9xhs0
    private String uuid;

    // 955.9999779462814
    private Double width;

    // 955.9999779462814
    private Double height;

    // 143.9999656677246
    private Double left;

    // 143.9999656677246
    private Double top;

    // ####################文字特有

    // 新年大吉
    private String text;

    // ###################图片特有
    private String imgUrl;

    // ###################base64特有
    // 用户上传产品图片base64
    @ToString.Exclude
    private String imgBase64;
    // 背景图base64
    @ToString.Exclude
    private String bgBase64;


    // ###########增加海报页面信息
    private Integer pageWidth;
    private Integer pageHeight;
    private String pageBgImg;
    private String keyword;
    private String bizName;

    // #########高级参数
    private String prompt = "close shot,minimalism, professional, high-resolution,commercial,highly detaile";
    private String negativePrompt= "(text:1.5),(watermark:1.5),cartoon, anime, sketch, grayscale, dull, overexposed, cluttered, messy plate, deformed,((text,watermark)),((hand,person,foot))";
    private Float stopAt = 0.5F;
    private Float weight = 0.7F;
    private Float guidanceScale = 6.0F;
    private Integer imgNumber = 1;
}
